# 调度平台编译工具.

.PHONY:help
help:
	@echo -e '\033[33m使用方法: make [目标定义]\033[0m'
	@echo
	@echo -e '\033[32m调度平台编译工具.\033[0m'
	@echo
	@echo -e '\033[36m可用目标\033[0m'
	@echo -e '\033[36m	help		显示帮助信息\033[0m'
	@echo -e '\033[36m	clean		清理编译环境\033[0m'
	@echo -e '\033[36m	release		发布调度平台\033[0m'

.PHONY:clean
clean:
	@echo -e '\033[36m清理编译运行期间的遗留文件...\033[0m'

	@rm -rf release

	@if ! type mvn > /dev/null 2>/dev/null; then \
  		echo -e '\033[31m请确认是否安装了maven工具 如果未安装请先安装再重新运行 已安装则请确认环境变量是否配置\033[0m'; \
  		exit 1; \
  	fi

	@mvn clean -Prelease

.PHONY:release
release:
	@echo -e '\033[36m检查编译工具...\033[0m'
	@if ! type mvn > /dev/null 2>/dev/null; then \
  		echo -e '\033[31m请确认是否安装了maven工具 如果未安装请先安装再重新运行 已安装则请确认环境变量是否配置\033[0m'; \
  		exit 1; \
  	fi

	@echo -e '\033[36m准备发布调度平台...\033[0m'
	@mvn clean package -Prepositories -Prelease -pl pi-scheduler-dist -am -Dcheckstyle.skip=true -DskipTests -Dhalt.on.failure=false
	@if [[ $? -ne 0 ]]; then \
  		echo -e '\033[31m发布调度平台失败 编译过程中出现问题.\033[0m'; \
  		exit 2; \
  	fi

	@if [[ ! -d pi-scheduler-dist/target/scheduler ]]; then \
  		echo -e '\033[31m发布调度平台失败 未识别发布目录.\033[0m'; \
  		exit 3; \
  	fi

	@rm -rf release
	@mkdir release
	@mv pi-scheduler-dist/target/scheduler release
